package com.tensquare.user.configration;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        /*
          authorizeRequests 所有security全注解配置实现的开端，表示开始说明需要的权限。
          需要的权限分为两部分，第一部分是拦截的路径，第二部分是访问该路径需要的权限
        * antMatchers表示拦截什么路径,permitAll表示任何权限
        * anyRequest任何请求
        * authenticated认证后才能
        *.and().csrf().disable();固定写法，表示使csrf失效
        * 注解规范：自己写的类用注解，框架写的类使用配置文件
         */
        http.authorizeRequests()
                .antMatchers("/**").permitAll()
                .anyRequest().authenticated()
                .and().csrf().disable();
    }
}
